/*
 *    Copyright 2022 jacky4631 shen ji email:121659050@qq.com
 *
 *    Licensed under the Apache License, Version 2.0 (the "License");
 *    you may not use this file except in compliance with the License.
 *    You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 *    Unless required by applicable law or agreed to in writing, software
 *    distributed under the License is distributed on an "AS IS" BASIS,
 *    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *    See the License for the specific language governing permissions and
 *    limitations under the License.
 */

package com.dataoke.shoppingguide.app773026.util;

import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.net.Uri;
import android.os.Handler;
import android.os.Message;

import com.dataoke.shoppingguide.app773026.AppContext;
import com.dataoke.shoppingguide.app773026.app.AppOperator;

/**
 * 界面帮助类
 * @author: shen ji
 * @date: 2022/3/15
 * @email: 121659050@qq.com
 * @wechat: jacky4631
 */
public class UIHelper {

    /**
     * url跳转
     *
     * @param context
     * @param url
     */
    public static void showUrlRedirect(Context context, String url) {
    }

    /**
     * 打开内置浏览器
     */
    public static void openInternalBrowser(Context context, String url) {

        openExternalBrowser(context, url);
    }

    /**
     * 打开外置的浏览器
     */
    public static void openExternalBrowser(Context context, String url) {
        Uri uri = Uri.parse(url);
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        context.startActivity(Intent.createChooser(intent, "选择打开的应用"));
    }

    /**
     * 清除app缓存
     */
    public static void clearAppCache(boolean showToast) {
        @SuppressLint("HandlerLeak") final Handler handler = showToast ? new Handler() {
            @Override
            public void handleMessage(Message msg) {
                if (msg.what == 1) {
                    AppContext.showToastShort("缓存清除成功");
                } else {
                    AppContext.showToastShort("缓存清除失败");
                }
            }
        } : null;
        AppOperator.runOnThread(() -> {
            Message msg = new Message();
            try {
                AppContext.getInstance().clearAppCache();
                msg.what = 1;
            } catch (Exception e) {
                e.printStackTrace();
                msg.what = -1;
            }
            if (handler != null)
                handler.sendMessage(msg);
        });
    }
}
